package com.work.facade;

import java.util.List;

import javax.ejb.Local;

import com.work.dto.ProjectDto;
import com.work.model.Project;

/**
 * The Interface ProjectFacade.
 *
 * @author "Mihai Roman"
 */
@Local
public interface ProjectFacade {

	/**
	 * Save.
	 *
	 * @param project the project
	 */
	public void save(Project project);
	
	/**
	 * Save project.
	 *
	 * @param projectDto the project dto
	 */
	public void saveProject(ProjectDto projectDto);
	
	/**
	 * Delete.
	 *
	 * @param project the project
	 */
	public void delete(Project project);
	
	/**
	 * Delete project.
	 *
	 * @param projectDto the project dto
	 */
	public void deleteProject(ProjectDto projectDto);
	
	/**
	 * Update.
	 *
	 * @param project the project
	 * @return the project
	 */
	public Project update(Project project);
	
	/**
	 * Update project.
	 *
	 * @param newProjectDto the new project dto
	 * @return the project dto
	 */
	public ProjectDto updateProject(ProjectDto newProjectDto);
	
	public List<Project> findAll();
}
